package com.littlelot;

import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig;
import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication;
import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter;

/**
 * littlelot
 */
public class MybatisPlusGeneratorUiApplication {

    public static void main(String[] args) {
        /**
         * 如果需要修改entity及其属性的命名规则，
         * 以及自定义各类生成文件的命名规则，
         * 可自定义一个NameConverter实例，
         * 覆盖相应的名称转换方法，详细可查看该接口的说明：
         */
        NameConverter converter = new NameConverter() {
            /**
             * 自定义Mapper类文件的名称规则，entityName是NameConverter.entityNameConvert处理表名后的返回结果，如有特别的需求可以自定义实现
             */
            @Override
            public String mapperNameConvert(String entityName) {
                return entityName + "Dao";
            }

            /**
             * 自定义Mapper Xml文件的名称规则，entityName是NameConverter.entityNameConvert处理表名后的返回结果，如有特别的需求可以自定义实现
             */
            @Override
            public String mapperXmlNameConvert(String entityName) {
                return entityName + "Dao";
            }

            /**
             * 自定义Service类文件的名称规则，entityName是NameConverter.entityNameConvert处理表名后的返回结果，如有特别的需求可以自定义实现
             */
            @Override
            public String serviceNameConvert(String entityName) {
                return entityName + "Service";
            }

            /**
             * 自定义Controller类文件的名称规则
             */
            @Override
            public String controllerNameConvert(String entityName) {
                return entityName + "Controller";
            }
        };

        GeneratorConfig config = GeneratorConfig.builder()
            // .jdbcUrl("jdbc:mysql://127.0.0.1:3009/ttlcj?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
            // .jdbcUrl("jdbc:mysql://test.youxiaoge.com:3007/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
            // .jdbcUrl("jdbc:mysql://127.0.0.1:3306/monitorDb?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
            .jdbcUrl("jdbc:mysql://test2.taptapshop.com:3007/monitorDb?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
            // .jdbcUrl("jdbc:mysql://test.youxiaoge.com:3007/move-hourse?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
            .userName("root")
            // .password("Xcm@#202251#$@xcmaa")
            // .password("test_youxiaoge@20230317")
            // .password("123456")
            .password("INIAX6OASZ@20240806+=")
            .driverClassName("com.mysql.cj.jdbc.Driver")
            .nameConverter(converter)
            // 所有生成的java文件的父包名，后续也可单独在界面上设置
            // .basePackage("com.youxiaoge.ttlcj")
            // .basePackage("com.macro.mall")
            .basePackage("com.voyager.skyeye")
            // .basePackage("com.cloudfunx")
            // 数据库schema，MSSQL,PGSQL,ORACLE,DB2类型的数据库需要指定
            // .schemaName("myBusiness")
            // 数据库表前缀，生成entity名称时会去掉(v2.0.3新增)
            .tablePrefix("t_")
            // .tablePrefix("zjz_")
            // .tablePrefix("")
            .port(8091)
            .build();
        MybatisPlusToolsApplication.run(config);
    }
}
